LOOKUPC Function
Syntax
Arguments
- matchtype
A 1-character string that specifies which lookup table record should supply the value if more than one record matches the Key_Value. "F" = First "L" = Last "C" = Closest match. Closest match uses the first occurrence of the closest inexact match if an exact match does not exist, otherwise it uses the first occurrence of an exact match.
- keyvalue
The value of a key to search for. The type of Key_Value must be the same as the type of the keys in the index specified by Index_Name.
- result_expression
The name of a field in the Lookup_Table or a valid expression which may contain one or more fields.
- tablename
The fully qualified name of a table. If you omit the drive and path, Alpha Anywhere searches the directory of the current database.
- tagname
The name of an index in the index lookup table that may contain the Key_Value.
Description
Returns the value of a character expression in an external table.
Discussion
LOOKUPC() searches an external lookup table ( Lookup_Table ) for an indexed record matching the Key_Value, and returns the character value in Lookup_Expression from the matching record. Alpha Anywhere performs an indexed search of the Lookup_Table using the Index_Name index. Note : If a record with a matching Key_Value is not found, Alpha Anywhere returns a blank value.
Example
Assume that the Invoice and Customer tables contain the following records and that the index, CUSTOMER_ID, exists on the CUST_ID field in Customer :
- INVOICE
- INV_NO
CUST_ID and INV_DATE
- I007
C003 06/08/1993
- I008
C005 01/23/1993
- I009
C002 06/25/1993
- I010
C004 06/25/1993
- CUSTOMER
- CUST_ID
LAST_NAME
- C002
Peabody
- C003
Rebo
- C004
Mesner
- C005
Feld
If the following expression defines a calculated field or global variable for the Invoice table, Alpha Anywhere returns the first name in the customer record that matches the current invoice record:
dim tn as C tn = table.filename_get("customer") ? tn = "c:\program files\a5v6\samples\webappserverdemo\Customer.Dbf" ? lookupc("F", CUST_ID, "LAST_NAME", tn, "CUSTOMER_ID") = "Feld" ' if current invoice record is I008 (making CUST_ID = C005)
Note : You can use TABLE.FILENAME_GET()to get the fully qualified name of a table.
See Also